//package com.ruyuan.eshop.construction.service.impl;
//
//import com.ruyuan.eshop.common.annotation.ParamsValidate;
//import com.ruyuan.eshop.construction.converter.ItemInfoConverter;
//import com.ruyuan.eshop.construction.dao.ItemInfoDAO;
//import com.ruyuan.eshop.construction.domain.dto.ItemDetailDTO;
//import com.ruyuan.eshop.construction.domain.dto.ItemInfoDTO;
//import com.ruyuan.eshop.construction.domain.entity.ItemDetailDO;
//import com.ruyuan.eshop.construction.domain.request.QueryItemListRequest;
//import com.ruyuan.eshop.common.enums.ProductResultEnum;
//import com.ruyuan.eshop.construction.service.ItemInfoQueryService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Set;
//
///**
// * 商品item信息
// *
// * @author zhonghuashishan
// */
//@Service
//public class ItemInfoQueryServiceImpl implements ItemInfoQueryService {
//
//    @Autowired
//    private ItemInfoDAO itemInfoDAO;
//    @Resource
//    private ItemInfoConverter itemInfoConverter;
//
//    /**
//     * 根据itemId查询item信息
//     *
//     * @param itemId
//     * @return
//     */
//    @Override
//    public ItemInfoDTO selectByItemId(String itemId) {
//        return itemInfoConverter.converterDO(itemInfoDAO.selectByItemId(itemId));
//    }
//    /**
//     * 根据itemId查询item信息
//     *
//     * @param queryItemListRequest
//     * @return
//     */
//    @Override
//    @ParamsValidate
//    public List<ItemDetailDTO> selectListByItemIds(QueryItemListRequest queryItemListRequest) {
//        Set<String> itemIdSet = queryItemListRequest.getItemIdSet();
//        List<Integer> customResult = queryItemListRequest.getCustomResult();
//        //构建商品信息枚举值集合
//        List<ProductResultEnum> customEnumResult = buildProductResultEnumList(customResult);
//
//        List<ItemDetailDO> itemDetailDTOS = itemInfoDAO.selectDetailByItemId(itemIdSet, customEnumResult);
//        if (customResult.contains(ProductResultEnum.SALE.getCode())) {
//            // 填充itemDetailDTOS的销售信息
//            setItemOtherResult(itemDetailDTOS, ProductResultEnum.SALE);
//        }
//        if (customResult.contains(ProductResultEnum.POPULARIZE.getCode())) {
//            // 填充itemDetailDTOS的推广信息
//            setItemOtherResult(itemDetailDTOS, ProductResultEnum.POPULARIZE);
//        }
//        return itemInfoConverter.converterDetailDOList(itemDetailDTOS);
//    }
//
//    /**
//     * 构建商品信息枚举值集合
//     * @param customResult
//     * @return
//     */
//    private List<ProductResultEnum> buildProductResultEnumList(List<Integer> customResult){
//        List<ProductResultEnum> customEnumResult = new ArrayList<>();
//        for (Integer resultType : customResult) {
//            customEnumResult.add(ProductResultEnum.getByCode(resultType));
//        }
//        return customEnumResult;
//    }
//
//
//    /**
//     * 设置item的销售信息结果或推广信息结果
//     *
//     * @param itemDetailDOS
//     * @param productResultEnum
//     * @author zhonghuashishan
//     */
//    private void setItemOtherResult(List<ItemDetailDO> itemDetailDOS, ProductResultEnum productResultEnum){
//        for (ItemDetailDO itemDetailDO : itemDetailDOS) {
//            switch (productResultEnum) {
//                case SALE:
//                    // 查询销售信息
//                    itemDetailDO.setItemSaleDO(itemInfoDAO.selectItemSaleByItemId(itemDetailDO.getIteminfoDO().getItemId()));
//                    break;
//                case POPULARIZE:
//                    // 查询推广信息
//                    itemDetailDO.setItemPopularizeDO(itemInfoDAO.selectItemPopularizeByItemId(itemDetailDO.getIteminfoDO().getItemId()));
//                    break;
//                default:
//                    break;
//            }
//        }
//    }
//
//}
